package com.naiterui.ehp.bs.doctor.prodocl;

import java.io.Serializable;
import java.util.List;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

/**
 * 推荐用药
 * <P>File name : RecommandDrug.java </P>
 * <P>Author : zhouyanxin </P> 
 * <P>Date : 2015年6月19日 </P>
 */
public class RecommandDrug implements IChecker, Serializable {

	/**
	 * 字段或域定义：<code>serialVersionUID</code>
	 */
	private static final long serialVersionUID = 970766740014938965L;
	
	/**
	 * LOGGER
	 */
	private static final Logger LOGGER = LoggerFactory.getLogger(RecommandDrug.class);

	/**
	 * 推荐用药的标识
	 */
	private Long recommandId;
	
	/**
	 * 推荐用药的明细
	 */
	private List<RecommandDrugItem> items;

	/**
	 * 检测消息属性的完整性和正确性
	 * RecommandDrug.selfValidate()<BR>
	 * <P>Author : zhouyanxin </P>  
	 * <P>Date : 2015年6月22日 </P>
	 * @return
	 */
    @Override
    public boolean selfValidate() {
		/*if(recommandId == null) {
			LOGGER.error("recommandDrug message attribute [recommandId] is null!");
			return false;
		}*/
        if (this.items == null || this.items.isEmpty()) {
			LOGGER.error("recommandDrug message attribute [items] is null!");
			return false;
		}
        for (RecommandDrugItem item : this.items) {
            if (!item.selfValidate()) {
                return false;
            }
        }
		return true;
	}
	
	/**
	 * @return Long 取得域 recommandId 的方法。
	 */
	public Long getRecommandId() {
        return this.recommandId;
	}

	/**
	 * @param recommandId 对域 recommandId 的设置方法.
	 */
	public void setRecommandId(Long recommandId) {
		this.recommandId = recommandId;
	}

	/**
	 * @return List<RecommandDrugItem> 取得域 items 的方法。
	 */
	public List<RecommandDrugItem> getItems() {
        return this.items;
	}

	/**
	 * @param items 对域 items 的设置方法.
	 */
	public void setItems(List<RecommandDrugItem> items) {
		this.items = items;
	}
}
